Industrial automation systems include various enterprise software applications (which are also known as information technology (IT) or manufacturing software applications) for monitoring and/or managing different aspects of production, as well as various manufacturing (or automation) controllers which control the actual manufacturing processes. The enterprise software applications and manufacturing controllers can be considered to operate in two different domains of an industrial automation system, namely, an enterprise domain and a control domain, respectively.
Conventionally, communication between an enterprise software application and a controller (between the different domains) is problematic, due to different programming languages, different messaging protocols, and different execution environments that can exist. Current communication systems between these two domains rely on the use of customized code to enable communication in various forms. However, such systems for facilitating messaging or message exchange between these domains are often unpredictable, fault intolerant, and not performance scalable. Additionally, such systems struggle with trade-offs between overhead burden (such as memory footprint, CPU cycles, etc.) and application coupling. The message processing load is typically not optimally distributed across the system in accordance with system capabilities and, if one part of the system is shut down, alternative messaging routes are not always in place to allow production to continue.
Further, the design and installation of controllers in control systems of such industrial automation systems often require incremental changes to be applied to the controllers over time, and new controllers or interface screens to be added to a human machine interface (HMI). Such control systems can become unstable, screens can lock up, and data can be lost. Also, limited diagnostic functions of the communication system can make problems difficult to uncover. Solutions are then typically based on estimates established through limited system metrics. Additionally, communication system management during configuration and runtime is typically complex and difficult. The multiple messaging protocols in many systems complicate configuration and management of such systems. This can be aggravated when many different applications and controllers are involved. This complexity often hinders the system's capacity to provide reports on higher level system information and reduces the ability to easily configure such systems.
For at least these reasons, therefore, it would be advantageous if one or more improved systems or methods for conducting or facilitating the conducting of communications among various components of such multidomain industrial automation systems could be developed.